
phase1：     文件格式 elf64-x86-64


Disassembly of section .init:

0000000000400618 <_init>:
  400618:	48 83 ec 08          	sub    $0x8,%rsp
  40061c:	48 8b 05 d5 19 20 00 	mov    0x2019d5(%rip),%rax        # 601ff8 <__gmon_start__>
  400623:	48 85 c0             	test   %rax,%rax
  400626:	74 05                	je     40062d <_init+0x15>
  400628:	e8 b3 00 00 00       	call   4006e0 <__gmon_start__@plt>
  40062d:	48 83 c4 08          	add    $0x8,%rsp
  400631:	c3                   	ret

Disassembly of section .plt:

0000000000400640 <.plt>:
  400640:	ff 35 c2 19 20 00    	push   0x2019c2(%rip)        # 602008 <_GLOBAL_OFFSET_TABLE_+0x8>
  400646:	ff 25 c4 19 20 00    	jmp    *0x2019c4(%rip)        # 602010 <_GLOBAL_OFFSET_TABLE_+0x10>
  40064c:	0f 1f 40 00          	nopl   0x0(%rax)

0000000000400650 <puts@plt>:
  400650:	ff 25 c2 19 20 00    	jmp    *0x2019c2(%rip)        # 602018 <puts@GLIBC_2.2.5>
  400656:	68 00 00 00 00       	push   $0x0
  40065b:	e9 e0 ff ff ff       	jmp    400640 <.plt>

0000000000400660 <ferror@plt>:
  400660:	ff 25 ba 19 20 00    	jmp    *0x2019ba(%rip)        # 602020 <ferror@GLIBC_2.2.5>
  400666:	68 01 00 00 00       	push   $0x1
  40066b:	e9 d0 ff ff ff       	jmp    400640 <.plt>

0000000000400670 <fread@plt>:
  400670:	ff 25 b2 19 20 00    	jmp    *0x2019b2(%rip)        # 602028 <fread@GLIBC_2.2.5>
  400676:	68 02 00 00 00       	push   $0x2
  40067b:	e9 c0 ff ff ff       	jmp    400640 <.plt>

0000000000400680 <getpid@plt>:
  400680:	ff 25 aa 19 20 00    	jmp    *0x2019aa(%rip)        # 602030 <getpid@GLIBC_2.2.5>
  400686:	68 03 00 00 00       	push   $0x3
  40068b:	e9 b0 ff ff ff       	jmp    400640 <.plt>

0000000000400690 <fclose@plt>:
  400690:	ff 25 a2 19 20 00    	jmp    *0x2019a2(%rip)        # 602038 <fclose@GLIBC_2.2.5>
  400696:	68 04 00 00 00       	push   $0x4
  40069b:	e9 a0 ff ff ff       	jmp    400640 <.plt>

00000000004006a0 <printf@plt>:
  4006a0:	ff 25 9a 19 20 00    	jmp    *0x20199a(%rip)        # 602040 <printf@GLIBC_2.2.5>
  4006a6:	68 05 00 00 00       	push   $0x5
  4006ab:	e9 90 ff ff ff       	jmp    400640 <.plt>

00000000004006b0 <memset@plt>:
  4006b0:	ff 25 92 19 20 00    	jmp    *0x201992(%rip)        # 602048 <memset@GLIBC_2.2.5>
  4006b6:	68 06 00 00 00       	push   $0x6
  4006bb:	e9 80 ff ff ff       	jmp    400640 <.plt>

00000000004006c0 <__libc_start_main@plt>:
  4006c0:	ff 25 8a 19 20 00    	jmp    *0x20198a(%rip)        # 602050 <__libc_start_main@GLIBC_2.2.5>
  4006c6:	68 07 00 00 00       	push   $0x7
  4006cb:	e9 70 ff ff ff       	jmp    400640 <.plt>

00000000004006d0 <srand@plt>:
  4006d0:	ff 25 82 19 20 00    	jmp    *0x201982(%rip)        # 602058 <srand@GLIBC_2.2.5>
  4006d6:	68 08 00 00 00       	push   $0x8
  4006db:	e9 60 ff ff ff       	jmp    400640 <.plt>

00000000004006e0 <__gmon_start__@plt>:
  4006e0:	ff 25 7a 19 20 00    	jmp    *0x20197a(%rip)        # 602060 <__gmon_start__>
  4006e6:	68 09 00 00 00       	push   $0x9
  4006eb:	e9 50 ff ff ff       	jmp    400640 <.plt>

00000000004006f0 <fopen@plt>:
  4006f0:	ff 25 72 19 20 00    	jmp    *0x201972(%rip)        # 602068 <fopen@GLIBC_2.2.5>
  4006f6:	68 0a 00 00 00       	push   $0xa
  4006fb:	e9 40 ff ff ff       	jmp    400640 <.plt>

0000000000400700 <rand@plt>:
  400700:	ff 25 6a 19 20 00    	jmp    *0x20196a(%rip)        # 602070 <rand@GLIBC_2.2.5>
  400706:	68 0b 00 00 00       	push   $0xb
  40070b:	e9 30 ff ff ff       	jmp    400640 <.plt>

Disassembly of section .text:

0000000000400710 <_start>:
  400710:	31 ed                	xor    %ebp,%ebp
  400712:	49 89 d1             	mov    %rdx,%r9
  400715:	5e                   	pop    %rsi
  400716:	48 89 e2             	mov    %rsp,%rdx
  400719:	48 83 e4 f0          	and    $0xfffffffffffffff0,%rsp
  40071d:	50                   	push   %rax
  40071e:	54                   	push   %rsp
  40071f:	49 c7 c0 e0 0c 40 00 	mov    $0x400ce0,%r8
  400726:	48 c7 c1 70 0c 40 00 	mov    $0x400c70,%rcx
  40072d:	48 c7 c7 19 0b 40 00 	mov    $0x400b19,%rdi
  400734:	e8 87 ff ff ff       	call   4006c0 <__libc_start_main@plt>
  400739:	f4                   	hlt
  40073a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)

0000000000400740 <deregister_tm_clones>:
  400740:	b8 a7 21 60 00       	mov    $0x6021a7,%eax
  400745:	55                   	push   %rbp
  400746:	48 2d a0 21 60 00    	sub    $0x6021a0,%rax
  40074c:	48 83 f8 0e          	cmp    $0xe,%rax
  400750:	48 89 e5             	mov    %rsp,%rbp
  400753:	77 02                	ja     400757 <deregister_tm_clones+0x17>
  400755:	5d                   	pop    %rbp
  400756:	c3                   	ret
  400757:	b8 00 00 00 00       	mov    $0x0,%eax
  40075c:	48 85 c0             	test   %rax,%rax
  40075f:	74 f4                	je     400755 <deregister_tm_clones+0x15>
  400761:	5d                   	pop    %rbp
  400762:	bf a0 21 60 00       	mov    $0x6021a0,%edi
  400767:	ff e0                	jmp    *%rax
  400769:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000400770 <register_tm_clones>:
  400770:	b8 a0 21 60 00       	mov    $0x6021a0,%eax
  400775:	55                   	push   %rbp
  400776:	48 2d a0 21 60 00    	sub    $0x6021a0,%rax
  40077c:	48 c1 f8 03          	sar    $0x3,%rax
  400780:	48 89 e5             	mov    %rsp,%rbp
  400783:	48 89 c2             	mov    %rax,%rdx
  400786:	48 c1 ea 3f          	shr    $0x3f,%rdx
  40078a:	48 01 d0             	add    %rdx,%rax
  40078d:	48 d1 f8             	sar    $1,%rax
  400790:	75 02                	jne    400794 <register_tm_clones+0x24>
  400792:	5d                   	pop    %rbp
  400793:	c3                   	ret
  400794:	ba 00 00 00 00       	mov    $0x0,%edx
  400799:	48 85 d2             	test   %rdx,%rdx
  40079c:	74 f4                	je     400792 <register_tm_clones+0x22>
  40079e:	5d                   	pop    %rbp
  40079f:	48 89 c6             	mov    %rax,%rsi
  4007a2:	bf a0 21 60 00       	mov    $0x6021a0,%edi
  4007a7:	ff e2                	jmp    *%rdx
  4007a9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

00000000004007b0 <__do_global_dtors_aux>:
  4007b0:	80 3d f1 19 20 00 00 	cmpb   $0x0,0x2019f1(%rip)        # 6021a8 <completed.6355>
  4007b7:	75 11                	jne    4007ca <__do_global_dtors_aux+0x1a>
  4007b9:	55                   	push   %rbp
  4007ba:	48 89 e5             	mov    %rsp,%rbp
  4007bd:	e8 7e ff ff ff       	call   400740 <deregister_tm_clones>
  4007c2:	5d                   	pop    %rbp
  4007c3:	c6 05 de 19 20 00 01 	movb   $0x1,0x2019de(%rip)        # 6021a8 <completed.6355>
  4007ca:	f3 c3                	repz ret
  4007cc:	0f 1f 40 00          	nopl   0x0(%rax)

00000000004007d0 <frame_dummy>:
  4007d0:	48 83 3d 48 16 20 00 	cmpq   $0x0,0x201648(%rip)        # 601e20 <__JCR_END__>
  4007d7:	00 
  4007d8:	74 1e                	je     4007f8 <frame_dummy+0x28>
  4007da:	b8 00 00 00 00       	mov    $0x0,%eax
  4007df:	48 85 c0             	test   %rax,%rax
  4007e2:	74 14                	je     4007f8 <frame_dummy+0x28>
  4007e4:	55                   	push   %rbp
  4007e5:	bf 20 1e 60 00       	mov    $0x601e20,%edi
  4007ea:	48 89 e5             	mov    %rsp,%rbp
  4007ed:	ff d0                	call   *%rax
  4007ef:	5d                   	pop    %rbp
  4007f0:	e9 7b ff ff ff       	jmp    400770 <register_tm_clones>
  4007f5:	0f 1f 00             	nopl   (%rax)
  4007f8:	e9 73 ff ff ff       	jmp    400770 <register_tm_clones>

00000000004007fd <_r_func_>:
  4007fd:	90                   	nop
  4007fe:	90                   	nop
  4007ff:	90                   	nop
  400800:	90                   	nop
  400801:	90                   	nop
  400802:	90                   	nop
  400803:	90                   	nop
  400804:	90                   	nop
  400805:	90                   	nop
  400806:	90                   	nop
  400807:	90                   	nop
  400808:	90                   	nop
  400809:	90                   	nop
  40080a:	90                   	nop
  40080b:	90                   	nop
  40080c:	c3                   	ret

000000000040080d <do_phase>:
  40080d:	48 83 ec 38          	sub    $0x38,%rsp
  400811:	48 89 7c 24 08       	mov    %rdi,0x8(%rsp)
  400816:	48 8d 54 24 10       	lea    0x10(%rsp),%rdx
  40081b:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
  400820:	48 89 d6             	mov    %rdx,%rsi
  400823:	48 89 c7             	mov    %rax,%rdi
  400826:	e8 aa 00 00 00       	call   4008d5 <digit2hex>
  40082b:	b8 00 00 00 00       	mov    $0x0,%eax
  400830:	48 83 c4 38          	add    $0x38,%rsp
  400834:	c3                   	ret

0000000000400835 <message>:
  400835:	48 83 ec 38          	sub    $0x38,%rsp
  400839:	89 7c 24 0c          	mov    %edi,0xc(%rsp)
  40083d:	48 b8 54 61 73 6b 20 	movabs $0x637573206b736154,%rax
  400844:	73 75 63 
  400847:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
  40084c:	48 b8 63 65 65 64 65 	movabs $0x2e646564656563,%rax
  400853:	64 2e 00 
  400856:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
  40085b:	48 b8 54 61 73 6b 20 	movabs $0x696166206b736154,%rax
  400862:	66 61 69 
  400865:	48 89 44 24 10       	mov    %rax,0x10(%rsp)
  40086a:	c7 44 24 18 6c 65 64 	movl   $0x2e64656c,0x18(%rsp)
  400871:	2e 
  400872:	c6 44 24 1c 00       	movb   $0x0,0x1c(%rsp)
  400877:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%rsp)
  40087c:	74 0f                	je     40088d <message+0x58>
  40087e:	48 8d 44 24 20       	lea    0x20(%rsp),%rax
  400883:	48 89 c7             	mov    %rax,%rdi
  400886:	e8 c5 fd ff ff       	call   400650 <puts@plt>
  40088b:	eb 0d                	jmp    40089a <message+0x65>
  40088d:	48 8d 44 24 10       	lea    0x10(%rsp),%rax
  400892:	48 89 c7             	mov    %rax,%rdi
  400895:	e8 b6 fd ff ff       	call   400650 <puts@plt>
  40089a:	48 83 c4 38          	add    $0x38,%rsp
  40089e:	c3                   	ret

000000000040089f <phase>:
  40089f:	48 83 ec 28          	sub    $0x28,%rsp
  4008a3:	48 89 7c 24 08       	mov    %rdi,0x8(%rsp)
  4008a8:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%rsp)
  4008af:	00 
  4008b0:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
  4008b5:	48 89 c7             	mov    %rax,%rdi
  4008b8:	e8 50 ff ff ff       	call   40080d <do_phase>
  4008bd:	89 44 24 1c          	mov    %eax,0x1c(%rsp)
  4008c1:	8b 44 24 1c          	mov    0x1c(%rsp),%eax
  4008c5:	89 c7                	mov    %eax,%edi
  4008c7:	e8 69 ff ff ff       	call   400835 <message>
  4008cc:	8b 44 24 1c          	mov    0x1c(%rsp),%eax
  4008d0:	48 83 c4 28          	add    $0x28,%rsp
  4008d4:	c3                   	ret

00000000004008d5 <digit2hex>:
  4008d5:	48 89 7c 24 e8       	mov    %rdi,-0x18(%rsp)
  4008da:	48 89 74 24 e0       	mov    %rsi,-0x20(%rsp)
  4008df:	48 c7 44 24 f8 00 00 	movq   $0x0,-0x8(%rsp)
  4008e6:	00 00 
  4008e8:	c7 44 24 f4 00 00 00 	movl   $0x0,-0xc(%rsp)
  4008ef:	00 
  4008f0:	e9 b6 00 00 00       	jmp    4009ab <digit2hex+0xd6>
  4008f5:	48 8b 44 24 e8       	mov    -0x18(%rsp),%rax
  4008fa:	0f b6 00             	movzbl (%rax),%eax
  4008fd:	3c 23                	cmp    $0x23,%al
  4008ff:	75 14                	jne    400915 <digit2hex+0x40>
  400901:	83 7c 24 f4 00       	cmpl   $0x0,-0xc(%rsp)
  400906:	0f 94 c0             	sete   %al
  400909:	0f b6 c0             	movzbl %al,%eax
  40090c:	89 44 24 f4          	mov    %eax,-0xc(%rsp)
  400910:	e9 90 00 00 00       	jmp    4009a5 <digit2hex+0xd0>
  400915:	83 7c 24 f4 00       	cmpl   $0x0,-0xc(%rsp)
  40091a:	74 05                	je     400921 <digit2hex+0x4c>
  40091c:	e9 84 00 00 00       	jmp    4009a5 <digit2hex+0xd0>
  400921:	48 8b 44 24 e8       	mov    -0x18(%rsp),%rax
  400926:	0f b6 00             	movzbl (%rax),%eax
  400929:	0f be c0             	movsbl %al,%eax
  40092c:	83 e0 7f             	and    $0x7f,%eax
  40092f:	48 98                	cltq
  400931:	0f b6 80 20 0d 40 00 	movzbl 0x400d20(%rax),%eax
  400938:	3c ff                	cmp    $0xff,%al
  40093a:	75 02                	jne    40093e <digit2hex+0x69>
  40093c:	eb 67                	jmp    4009a5 <digit2hex+0xd0>
  40093e:	48 83 7c 24 f8 00    	cmpq   $0x0,-0x8(%rsp)
  400944:	74 55                	je     40099b <digit2hex+0xc6>
  400946:	48 8b 44 24 f8       	mov    -0x8(%rsp),%rax
  40094b:	0f b6 00             	movzbl (%rax),%eax
  40094e:	0f be c0             	movsbl %al,%eax
  400951:	83 e0 7f             	and    $0x7f,%eax
  400954:	48 98                	cltq
  400956:	0f b6 80 20 0d 40 00 	movzbl 0x400d20(%rax),%eax
  40095d:	0f b6 c0             	movzbl %al,%eax
  400960:	c1 e0 04             	shl    $0x4,%eax
  400963:	89 c2                	mov    %eax,%edx
  400965:	48 8b 44 24 e8       	mov    -0x18(%rsp),%rax
  40096a:	0f b6 00             	movzbl (%rax),%eax
  40096d:	0f be c0             	movsbl %al,%eax
  400970:	83 e0 7f             	and    $0x7f,%eax
  400973:	48 98                	cltq
  400975:	0f b6 80 20 0d 40 00 	movzbl 0x400d20(%rax),%eax
  40097c:	83 e0 0f             	and    $0xf,%eax
  40097f:	09 d0                	or     %edx,%eax
  400981:	89 c2                	mov    %eax,%edx
  400983:	48 8b 44 24 e0       	mov    -0x20(%rsp),%rax
  400988:	88 10                	mov    %dl,(%rax)
  40098a:	48 83 44 24 e0 01    	addq   $0x1,-0x20(%rsp)
  400990:	48 c7 44 24 f8 00 00 	movq   $0x0,-0x8(%rsp)
  400997:	00 00 
  400999:	eb 0a                	jmp    4009a5 <digit2hex+0xd0>
  40099b:	48 8b 44 24 e8       	mov    -0x18(%rsp),%rax
  4009a0:	48 89 44 24 f8       	mov    %rax,-0x8(%rsp)
  4009a5:	48 83 44 24 e8 01    	addq   $0x1,-0x18(%rsp)
  4009ab:	48 8b 44 24 e8       	mov    -0x18(%rsp),%rax
  4009b0:	0f b6 00             	movzbl (%rax),%eax
  4009b3:	84 c0                	test   %al,%al
  4009b5:	0f 85 3a ff ff ff    	jne    4008f5 <digit2hex+0x20>
  4009bb:	48 8b 44 24 e0       	mov    -0x20(%rsp),%rax
  4009c0:	c3                   	ret

00000000004009c1 <getrid>:
  4009c1:	48 83 ec 08          	sub    $0x8,%rsp
  4009c5:	8b 05 cd 17 20 00    	mov    0x2017cd(%rip),%eax        # 602198 <run_id.3622>
  4009cb:	85 c0                	test   %eax,%eax
  4009cd:	79 17                	jns    4009e6 <getrid+0x25>
  4009cf:	e8 ac fc ff ff       	call   400680 <getpid@plt>
  4009d4:	89 c7                	mov    %eax,%edi
  4009d6:	e8 f5 fc ff ff       	call   4006d0 <srand@plt>
  4009db:	e8 20 fd ff ff       	call   400700 <rand@plt>
  4009e0:	89 05 b2 17 20 00    	mov    %eax,0x2017b2(%rip)        # 602198 <run_id.3622>
  4009e6:	8b 05 ac 17 20 00    	mov    0x2017ac(%rip),%eax        # 602198 <run_id.3622>
  4009ec:	48 83 c4 08          	add    $0x8,%rsp
  4009f0:	c3                   	ret

00000000004009f1 <fillregion>:
  4009f1:	48 89 7c 24 e8       	mov    %rdi,-0x18(%rsp)
  4009f6:	89 74 24 e4          	mov    %esi,-0x1c(%rsp)
  4009fa:	89 54 24 e0          	mov    %edx,-0x20(%rsp)
  4009fe:	c7 44 24 fc 00 00 00 	movl   $0x0,-0x4(%rsp)
  400a05:	00 
  400a06:	eb 21                	jmp    400a29 <fillregion+0x38>
  400a08:	8b 44 24 fc          	mov    -0x4(%rsp),%eax
  400a0c:	48 98                	cltq
  400a0e:	48 8d 14 85 00 00 00 	lea    0x0(,%rax,4),%rdx
  400a15:	00 
  400a16:	48 8b 44 24 e8       	mov    -0x18(%rsp),%rax
  400a1b:	48 01 c2             	add    %rax,%rdx
  400a1e:	8b 44 24 e0          	mov    -0x20(%rsp),%eax
  400a22:	89 02                	mov    %eax,(%rdx)
  400a24:	83 44 24 fc 01       	addl   $0x1,-0x4(%rsp)
  400a29:	8b 44 24 fc          	mov    -0x4(%rsp),%eax
  400a2d:	3b 44 24 e4          	cmp    -0x1c(%rsp),%eax
  400a31:	7c d5                	jl     400a08 <fillregion+0x17>
  400a33:	c3                   	ret

0000000000400a34 <checkregion>:
  400a34:	48 89 7c 24 e8       	mov    %rdi,-0x18(%rsp)
  400a39:	89 74 24 e4          	mov    %esi,-0x1c(%rsp)
  400a3d:	89 54 24 e0          	mov    %edx,-0x20(%rsp)
  400a41:	c7 44 24 fc 00 00 00 	movl   $0x0,-0x4(%rsp)
  400a48:	00 
  400a49:	eb 2a                	jmp    400a75 <checkregion+0x41>
  400a4b:	8b 44 24 fc          	mov    -0x4(%rsp),%eax
  400a4f:	48 98                	cltq
  400a51:	48 8d 14 85 00 00 00 	lea    0x0(,%rax,4),%rdx
  400a58:	00 
  400a59:	48 8b 44 24 e8       	mov    -0x18(%rsp),%rax
  400a5e:	48 01 d0             	add    %rdx,%rax
  400a61:	8b 00                	mov    (%rax),%eax
  400a63:	3b 44 24 e0          	cmp    -0x20(%rsp),%eax
  400a67:	74 07                	je     400a70 <checkregion+0x3c>
  400a69:	b8 00 00 00 00       	mov    $0x0,%eax
  400a6e:	eb 14                	jmp    400a84 <checkregion+0x50>
  400a70:	83 44 24 fc 01       	addl   $0x1,-0x4(%rsp)
  400a75:	8b 44 24 fc          	mov    -0x4(%rsp),%eax
  400a79:	3b 44 24 e4          	cmp    -0x1c(%rsp),%eax
  400a7d:	7c cc                	jl     400a4b <checkregion+0x17>
  400a7f:	b8 01 00 00 00       	mov    $0x1,%eax
  400a84:	c3                   	ret

0000000000400a85 <exec_phase>:
  400a85:	48 83 ec 58          	sub    $0x58,%rsp
  400a89:	48 89 7c 24 08       	mov    %rdi,0x8(%rsp)
  400a8e:	48 c7 05 47 37 20 00 	movq   $0x40,0x203747(%rip)        # 6041e0 <alloca_size.3649>
  400a95:	40 00 00 00 
  400a99:	48 8d 44 24 10       	lea    0x10(%rsp),%rax
  400a9e:	48 89 05 43 37 20 00 	mov    %rax,0x203743(%rip)        # 6041e8 <alloca_region.3648>
  400aa5:	b8 00 00 00 00       	mov    $0x0,%eax
  400aaa:	e8 12 ff ff ff       	call   4009c1 <getrid>
  400aaf:	89 c2                	mov    %eax,%edx
  400ab1:	48 8b 05 28 37 20 00 	mov    0x203728(%rip),%rax        # 6041e0 <alloca_size.3649>
  400ab8:	48 c1 e8 02          	shr    $0x2,%rax
  400abc:	89 c1                	mov    %eax,%ecx
  400abe:	48 8b 05 23 37 20 00 	mov    0x203723(%rip),%rax        # 6041e8 <alloca_region.3648>
  400ac5:	89 ce                	mov    %ecx,%esi
  400ac7:	48 89 c7             	mov    %rax,%rdi
  400aca:	e8 22 ff ff ff       	call   4009f1 <fillregion>
  400acf:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
  400ad4:	48 89 c7             	mov    %rax,%rdi
  400ad7:	e8 c3 fd ff ff       	call   40089f <phase>
  400adc:	b8 00 00 00 00       	mov    $0x0,%eax
  400ae1:	e8 db fe ff ff       	call   4009c1 <getrid>
  400ae6:	89 c2                	mov    %eax,%edx
  400ae8:	48 8b 05 f1 36 20 00 	mov    0x2036f1(%rip),%rax        # 6041e0 <alloca_size.3649>
  400aef:	48 c1 e8 02          	shr    $0x2,%rax
  400af3:	89 c1                	mov    %eax,%ecx
  400af5:	48 8b 05 ec 36 20 00 	mov    0x2036ec(%rip),%rax        # 6041e8 <alloca_region.3648>
  400afc:	89 ce                	mov    %ecx,%esi
  400afe:	48 89 c7             	mov    %rax,%rdi
  400b01:	e8 2e ff ff ff       	call   400a34 <checkregion>
  400b06:	85 c0                	test   %eax,%eax
  400b08:	75 0a                	jne    400b14 <exec_phase+0x8f>
  400b0a:	bf a0 0d 40 00       	mov    $0x400da0,%edi
  400b0f:	e8 3c fb ff ff       	call   400650 <puts@plt>
  400b14:	48 83 c4 58          	add    $0x58,%rsp
  400b18:	c3                   	ret

0000000000400b19 <main>:
  400b19:	48 83 ec 28          	sub    $0x28,%rsp
  400b1d:	89 7c 24 0c          	mov    %edi,0xc(%rsp)
  400b21:	48 89 34 24          	mov    %rsi,(%rsp)
  400b25:	b8 00 00 00 00       	mov    $0x0,%eax
  400b2a:	e8 92 fe ff ff       	call   4009c1 <getrid>
  400b2f:	48 c7 44 24 18 00 00 	movq   $0x0,0x18(%rsp)
  400b36:	00 00 
  400b38:	83 7c 24 0c 01       	cmpl   $0x1,0xc(%rsp)
  400b3d:	75 0e                	jne    400b4d <main+0x34>
  400b3f:	48 8b 05 5a 16 20 00 	mov    0x20165a(%rip),%rax        # 6021a0 <stdin@GLIBC_2.2.5>
  400b46:	48 89 44 24 18       	mov    %rax,0x18(%rsp)
  400b4b:	eb 76                	jmp    400bc3 <main+0xaa>
  400b4d:	83 7c 24 0c 02       	cmpl   $0x2,0xc(%rsp)
  400b52:	75 4c                	jne    400ba0 <main+0x87>
  400b54:	48 8b 04 24          	mov    (%rsp),%rax
  400b58:	48 83 c0 08          	add    $0x8,%rax
  400b5c:	48 8b 00             	mov    (%rax),%rax
  400b5f:	be c2 0d 40 00       	mov    $0x400dc2,%esi
  400b64:	48 89 c7             	mov    %rax,%rdi
  400b67:	e8 84 fb ff ff       	call   4006f0 <fopen@plt>
  400b6c:	48 89 44 24 18       	mov    %rax,0x18(%rsp)
  400b71:	48 83 7c 24 18 00    	cmpq   $0x0,0x18(%rsp)
  400b77:	75 4a                	jne    400bc3 <main+0xaa>
  400b79:	48 8b 04 24          	mov    (%rsp),%rax
  400b7d:	48 83 c0 08          	add    $0x8,%rax
  400b81:	48 8b 00             	mov    (%rax),%rax
  400b84:	48 89 c6             	mov    %rax,%rsi
  400b87:	bf c8 0d 40 00       	mov    $0x400dc8,%edi
  400b8c:	b8 00 00 00 00       	mov    $0x0,%eax
  400b91:	e8 0a fb ff ff       	call   4006a0 <printf@plt>
  400b96:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
  400b9b:	e9 c1 00 00 00       	jmp    400c61 <main+0x148>
  400ba0:	48 8b 04 24          	mov    (%rsp),%rax
  400ba4:	48 8b 00             	mov    (%rax),%rax
  400ba7:	48 89 c6             	mov    %rax,%rsi
  400baa:	bf ec 0d 40 00       	mov    $0x400dec,%edi
  400baf:	b8 00 00 00 00       	mov    $0x0,%eax
  400bb4:	e8 e7 fa ff ff       	call   4006a0 <printf@plt>
  400bb9:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
  400bbe:	e9 9e 00 00 00       	jmp    400c61 <main+0x148>
  400bc3:	bf 08 0e 40 00       	mov    $0x400e08,%edi
  400bc8:	e8 83 fa ff ff       	call   400650 <puts@plt>
  400bcd:	bf 38 0e 40 00       	mov    $0x400e38,%edi
  400bd2:	e8 79 fa ff ff       	call   400650 <puts@plt>
  400bd7:	ba 00 20 00 00       	mov    $0x2000,%edx
  400bdc:	be 00 00 00 00       	mov    $0x0,%esi
  400be1:	bf e0 21 60 00       	mov    $0x6021e0,%edi
  400be6:	e8 c5 fa ff ff       	call   4006b0 <memset@plt>
  400beb:	48 8b 44 24 18       	mov    0x18(%rsp),%rax
  400bf0:	48 89 c1             	mov    %rax,%rcx
  400bf3:	ba ff 1f 00 00       	mov    $0x1fff,%edx
  400bf8:	be 01 00 00 00       	mov    $0x1,%esi
  400bfd:	bf e0 21 60 00       	mov    $0x6021e0,%edi
  400c02:	e8 69 fa ff ff       	call   400670 <fread@plt>
  400c07:	48 89 44 24 10       	mov    %rax,0x10(%rsp)
  400c0c:	48 8b 44 24 18       	mov    0x18(%rsp),%rax
  400c11:	48 89 c7             	mov    %rax,%rdi
  400c14:	e8 47 fa ff ff       	call   400660 <ferror@plt>
  400c19:	85 c0                	test   %eax,%eax
  400c1b:	74 0c                	je     400c29 <main+0x110>
  400c1d:	bf 60 0e 40 00       	mov    $0x400e60,%edi
  400c22:	e8 29 fa ff ff       	call   400650 <puts@plt>
  400c27:	eb 18                	jmp    400c41 <main+0x128>
  400c29:	48 8b 44 24 10       	mov    0x10(%rsp),%rax
  400c2e:	48 05 e0 21 60 00    	add    $0x6021e0,%rax
  400c34:	c6 00 00             	movb   $0x0,(%rax)
  400c37:	bf e0 21 60 00       	mov    $0x6021e0,%edi
  400c3c:	e8 44 fe ff ff       	call   400a85 <exec_phase>
  400c41:	48 8b 05 58 15 20 00 	mov    0x201558(%rip),%rax        # 6021a0 <stdin@GLIBC_2.2.5>
  400c48:	48 39 44 24 18       	cmp    %rax,0x18(%rsp)
  400c4d:	74 0d                	je     400c5c <main+0x143>
  400c4f:	48 8b 44 24 18       	mov    0x18(%rsp),%rax
  400c54:	48 89 c7             	mov    %rax,%rdi
  400c57:	e8 34 fa ff ff       	call   400690 <fclose@plt>
  400c5c:	b8 00 00 00 00       	mov    $0x0,%eax
  400c61:	48 83 c4 28          	add    $0x28,%rsp
  400c65:	c3                   	ret
  400c66:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
  400c6d:	00 00 00 

0000000000400c70 <__libc_csu_init>:
  400c70:	41 57                	push   %r15
  400c72:	41 89 ff             	mov    %edi,%r15d
  400c75:	41 56                	push   %r14
  400c77:	49 89 f6             	mov    %rsi,%r14
  400c7a:	41 55                	push   %r13
  400c7c:	49 89 d5             	mov    %rdx,%r13
  400c7f:	41 54                	push   %r12
  400c81:	4c 8d 25 88 11 20 00 	lea    0x201188(%rip),%r12        # 601e10 <__frame_dummy_init_array_entry>
  400c88:	55                   	push   %rbp
  400c89:	48 8d 2d 88 11 20 00 	lea    0x201188(%rip),%rbp        # 601e18 <__do_global_dtors_aux_fini_array_entry>
  400c90:	53                   	push   %rbx
  400c91:	4c 29 e5             	sub    %r12,%rbp
  400c94:	31 db                	xor    %ebx,%ebx
  400c96:	48 c1 fd 03          	sar    $0x3,%rbp
  400c9a:	48 83 ec 08          	sub    $0x8,%rsp
  400c9e:	e8 75 f9 ff ff       	call   400618 <_init>
  400ca3:	48 85 ed             	test   %rbp,%rbp
  400ca6:	74 1e                	je     400cc6 <__libc_csu_init+0x56>
  400ca8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
  400caf:	00 
  400cb0:	4c 89 ea             	mov    %r13,%rdx
  400cb3:	4c 89 f6             	mov    %r14,%rsi
  400cb6:	44 89 ff             	mov    %r15d,%edi
  400cb9:	41 ff 14 dc          	call   *(%r12,%rbx,8)
  400cbd:	48 83 c3 01          	add    $0x1,%rbx
  400cc1:	48 39 eb             	cmp    %rbp,%rbx
  400cc4:	75 ea                	jne    400cb0 <__libc_csu_init+0x40>
  400cc6:	48 83 c4 08          	add    $0x8,%rsp
  400cca:	5b                   	pop    %rbx
  400ccb:	5d                   	pop    %rbp
  400ccc:	41 5c                	pop    %r12
  400cce:	41 5d                	pop    %r13
  400cd0:	41 5e                	pop    %r14
  400cd2:	41 5f                	pop    %r15
  400cd4:	c3                   	ret
  400cd5:	90                   	nop
  400cd6:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
  400cdd:	00 00 00 

0000000000400ce0 <__libc_csu_fini>:
  400ce0:	f3 c3                	repz ret

Disassembly of section .fini:

0000000000400ce4 <_fini>:
  400ce4:	48 83 ec 08          	sub    $0x8,%rsp
  400ce8:	48 83 c4 08          	add    $0x8,%rsp
  400cec:	c3                   	ret
